package mock

import (
	"github.com/urfave/cli/v2"
)

// 配置文件处理
func ConfigCommand() *cli.Command {
	return &cli.Command{
		// 命令的名字
		Name: "config",
		// 命令的缩写，就是不输入language只输入lang也可以调用命令
		Aliases: []string{"c"},
		// 命令的用法注释，这里会在输入 程序名 -help的时候显示命令的使用方法
		Usage: "配置文件路径,不填表示使用 ./mock.yaml默认路径",
		// 命令的处理函数
		Action: func(c *cli.Context) error {
			filepath := c.Args().First()
			if filepath == "" && len(filepath) == 0 {
				filepath = "./mock.yaml"
			}
			//读取配置文件
			conf, err := ReadConfig(filepath)
			if err != nil {
				return err
			}
			// 处理程序
			if err = GenerateMockData(conf); err != nil {
				return err
			}
			return nil
		},
	}
}
